The present invention relates to buffered disk units and a method of transferring data therein, and more particularly, to a buffered disk unit and a method of transferring data therein at an increased speed.
In a computer system where a plurality of disk units are usually connected with a controller, the locating process, including seeking and sector setting operations, is performed before data transfer separately from the controller in order to efficiently use data transfer path. Thus, the plurality of disk units connected with the controller can independently execute the locating process.
In such a control system, however, a disk unit may already have been transferring/receiving data to/from the controller when a sending disk unit is intended to start data transfer after its locating process has been completed. This is referred to as "reconnection miss after location is completed". If this phenomenon occurs, the different disk unit cannot secure a data transfer path, so the different disk must wait until the different disk unit makes a complete rotation in order to enter into the data transfer.
A mechanism to prevent this "reconnection miss after location is completed" is proposed, for example, in Japanese Patent Application JP-A-57-146359 (or Japanese Patent Publication JP-B-62-3455) where a buffer having a small capacity is provided in each disk unit. According to this method, if a disk unit is already transferring/receiving data to/from the controller when the sending disk has completed its locating process, data on the different disk unit is temporarily loaded on its buffer and the loaded data is transferred to the controller when the transfer of the data on the sent disk unit is completed.
A method is proposed which simplifies a locating Process for a disk unit. For example, Japanese Patent Application JP-A-59-38866 proposes a process which reads data on a plurality of tracks into a buffer, using a plurality of read circuits, while the disk unit makes a complete rotation.
According to this method, data on tracks which are not ordered to be read by the controller is also read into the buffer. This process aims at prefetching data for sequential reading. When data is actually ordered to be read, it is directly read out by a buffer without locating a disk unit to reduce the number of locating processes executed. Therefore, a buffer having a large capacity is provided.
Japanese Patent Application JP-A-59-100964 discloses a technique for increasing the speed of inputting/outputting data using a cache storage provided in a controller which is connected to disk units. This technique realizes an increase in the speed of inputting/outputting data by causing a director (data transfer control processor) in the controller to transfer data in a parallel manner between the CPU and the cache storage and between the cache storage and the disk unit.
In JP-A-59-33689 and JP-A-58-186867, a method is disclosed allocating the slots of a disk cache memory to input/output requests. However, neither a disclosure nor a suggestion concerning an allocation method considering the characteristics of a sequential input/output request is found in these documents.
The above conventional techniques have the following problems:
(1) The sequential process occupies a large proportion of the transfer of data to the disk units. The sequential process differs greatly in access pattern from the other processes. The conventional techniques do not distinguish between the sequential access pattern and the non-sequential access pattern and do not allow for the buffer allocation method to those corresponding access patterns.
(2) When a plurality of programs executed in concurrently by a host computer system make a request for inputting/outputting data to/from a disk, program B may make a request for transfer of data after sequential transfer of program A is completed and before the next sequential transfer of program A is started, thereby destroying data loaded in the buffer. The conventional technique does not allow for such a problem.
(3) When a plurality of sequential transfer processes are executed in parallel and a request for sequential transfer of a new program is accepted, the already allocated buffers are required to be reallocated. The conventional technique does not allow for a method of such reallocation.
It is an object of the present invention to provide a buffered disk unit and a method of transferring data therein which solves the above problems and improves the processing speed.